01
课程导论与逆向工程概述
软件维护的定义与分类 · 逆向工程概念 · 法律与道德边界 · 课程目标与方法
导论基础
02
软件逆向工程基础
机器码与汇编基础 · 寄存器与栈模型 · x86/x64差异 · Hello World逆向
汇编入门
03
静态分析工具实战
IDA Pro界面操作 · Ghidra基础 · 字符串与交叉引用 · 静态分析流程
IDAGhidra
04
动态分析工具实战
OllyDbg/x64dbg入门 · 断点与单步跟踪 · 内存寄存器监控 · 动态分析
调试器动态
05
PE文件格式深度解析
DOS头与NT头 · 节表与节区 · 导入表导出表 · 资源表分析
PEWindows
06
ELF文件格式深度解析
ELF头与程序头 · 节头与符号表 · 动态链接与重定位 · 与PE对比
ELFLinux
07
汇编核心指令与模式识别
数据传送 · 算术逻辑 · 控制转移 · 常见反汇编模式
汇编模式
08
函数调用约定与栈帧
cdecl · stdcall · fastcall · x64约定 · 栈帧分析技巧
调用约定栈
09
控制流图与函数识别
基本块与控制流图 · 函数边界识别 · 编译器优化影响
CFG分析
10
数据结构逆向
数组与结构体 · 链表与树 · 虚函数表与C++对象模型
数据结构C++
11
字符串与资源分析
字符串编码识别 · 资源提取修改 · 硬编码字符串定位
字符串资源
12
反调试技术原理
IsDebuggerPresent · NtQueryInformationProcess · TLS回调 · 时间差检测
反调试保护
13
反反调试技术
绕过API检测 · 手动修复PEB · 模拟执行与钩子绕过
反反调试绕过
14
代码混淆与虚拟化
控制流平坦化 · 虚假控制流 · 虚拟化保护原理 · 去混淆思路
混淆虚拟化
15
加壳与脱壳基础
UPX加壳原理 · ESP定律脱壳 · 寻找OEP · Dump与重建导入表
加壳脱壳
16
常见商业壳分析
VMP · Themida · ASProtect特征与脱壳策略 · 壳强度评估
商业壳VMP
17
网络协议逆向
Wireshark抓包 · 自定义协议识别 · 加密算法定位与Hook
协议网络
18
恶意代码分析基础
静态特征提取 · 动态行为监控 · 沙箱逃逸与对抗
恶意代码沙箱
19
软件补丁与修改
字节级Patch · 内存补丁 · API Hook原理 · Detours与MinHook
补丁Hook
20
软件维护之Bug修复
崩溃日志分析 · Windbg调试 · 热补丁技术 · 回归测试
调试Bug
21
软件维护之性能优化
性能剖析工具 · 热点函数定位 · 算法优化与内存优化
性能优化
22
软件维护之代码重构
坏味道识别 · 重构手法 · 依赖分析与解耦
重构设计
23
软件维护之文档与版本控制
维护文档撰写 · Git分支策略 · 变更管理
文档Git
24
逆向工程在漏洞挖掘中的应用
Fuzzing基础 · Crash分析 · Exploit开发入门
漏洞Fuzzing
25
固件逆向基础
固件提取 · Binwalk分析 · 嵌入式架构识别 · 固件模拟
固件嵌入式
26
移动应用逆向(Android)
APK结构 · DEX与Smali · Jadx与Frida基础 · 常见保护绕过
AndroidFrida
27
移动应用逆向(iOS)
IPA结构 · Mach-O分析 · Theos与Cycript · 越狱检测绕过
iOS越狱
28
高级逆向技术
符号执行与约束求解 · 污点分析 · 二进制重写与插桩
符号执行插桩
29
软件维护与逆向工程伦理
开源许可证 · 合规性 · 负责任披露 · 职业操守
伦理法律
30
综合实战项目
从零逆向CrackMe · 撰写逆向报告 · 维护方案设计 · 课程总结
实战项目